The F# 3.0 beta contains a query {} computation expression with tons of new keywords.
How can I define my own keywords in a computation builder?
In F# 3.0, you can use CustomOperationAttribute for this purpose.
The new attribute is not very well-documented, the only examples I find are this great answer by @Tomas and this interesting blog post.