. . . . "but how can it be archived? (Code examples in such languages as Scala or Ocaml are very desirable.)" .