return op, pop params op, and bug fix on func decl type check