Allow nil ip addresses (evaluates record but doesn't throw a result),
random bug fixing and cleanup.