Implement cons, head, tail and empty