I know it has something to do with types,
but whenever I try to add a type signature to the functions it just messes everything up even more.