Started implementing iilang in Fsharp, untested, incomplete