fixed cons and reverseCons type signatures