Function *binding* working for everything I've tested so far. Also it's polymorphic so now messages can work.