infering some easy types during parsing, rest to be specified explicitly