Add triggerError and slientError method to Result class
Remove type hinting for default value
Add type hinting int
use Traversable
Throw proper exception