precondition checks for go language, useful in contract programming