Expressions, Commands, Machine, Functions, Context, borrowed from RubySharp