In my language I want to be able to call static functions such as system.console.writeline()
I have managed to get this working just by using my language's FallbackInvokeMember function.
I took the Sympl version as a starting point and changed it as follows:
If the target is a TypeModel then I call GetMember on the the target's ReflType property
Otherwise I call GetMember on the target itself.
If the member found is a static method, I construct an Expression.Call with a null instance parameter to call the static method.
Otherwise I construct an Expression.Call for a normal method call.
However, Sympl does not do this and I would like to know why, and if my method is valid.