F# computation expressions, coupled with .NET expression trees are quite useful though, even though they aren't macros as such.