Ocamlの入門者ですが、n重のリストの要素数を数えたいと思って ↓のように書いてみたのですがエラーになります。 型推論などまだよくわかってないのですが、Ocamlではこのような関数は書けないのでしょうか。 # let rec moredeeplen = function | [] -> 0 | (hd :: tl) :: rest -> 1 + moredeeplen tl + moredeeplen rest | _ :: rest -> 1 + moredeeplen rest;; This expression has type 'a list but is here used with type 'a list list