We should consider adding typeclasses or similar to prevent repeating code such as sorting datastructures, etc.