Hi,
Personally, I would write your code [as
follows](https://glot.io/snippets/ekzfjeht1v):
type
Keypad = ref object
position: range[1..9]
proc newKeypad(): Keypad =
result = Keypad(position: 5)
let keypad = newKeypad()
Note that method isdynamically dispatched, whilst proc isstatically dispatched.
Methods can't be removed with dead code elimination, so proc is usually
preferred. The convention newX is also used throughout the standard library.
Also note that object initialization uses the colon (:) to specify the value of
a field.