#fix the bug in wrong type assignment, and add the angle function
#Allow funtions have 0 argument