Better errors for non functions in head of list
[] literal now produces a list. This is temporary