remove workaround for issue #333, use a better approach instead. Fix #333
remove explicit call to result_type in run, use result_of instead
add missing minus include in diff
add tie test for issue #222