Simple rational implementation for use as duration