Add msvc workaround for compose
Remove extra is_callable check