#4 renamed IterableQueryResult to Result
#5 added detection of resultOf parameters by return type