You'll need tests and doctests for this.