Added support to hoist nested calls e.g. foo().bar().toString()-> _._.toString() where _=foo() and _=bar()