From what I have seen, Don Syme is a very pragmatic language designer and doesn't want to include features just to add them, and he holds .NET interoperability extremely high on the priority list, which further limits adding more functional programming features.
I imagine the compiler implementation is complicated, and I would guess it is due to the .NET interoperability.