works on mac. broke mangling on linux though
smaller API, linux mangling, BoundMethod, method_missing