Promote list/2 to a behaviour api