Haskell Novice Probleme beim Teilen einer Liste in zwei Hälften

Hier ist mein Versuch, eine Funktion zu schreiben, die eine Liste mit gerader Länge in zwei gleiche Hälften aufteilt.

halve :: [a] -> ([a], [a])
halve x 
   | even len = (take half x, drop half x)
   | otherwise = error "Cannnot halve a list of odd length"
   where
      len = length x
      half = len / 2

Ich erhalte den folgenden Fehler:

 No instance for (Fractional Int) arising from a use of ‘/’
    In the expression: len / 2
    In an equation for ‘half’: half = len / 2
    In an equation for ‘halve’:

Ich verstehe den Fehler nicht, aber ich habe den Verdacht, dass Haskell im Voraus darüber informiert werden muss, dass len etwas ist, das Sie durch 2 teilen können. Also, wie kann ich das Beispiel korrigieren? Ist mein Code irgendwo in der Nähe von idiomatischem Haskell? Ich würde mich über weitere Kommentare zu meinem Code freuen.