Refactor: Now list is an actual type instead of an interface, and each list type embeds it. More code reuse potential now.