Refine algorithm section
Add citation for type matching
Error returned => Failure raised, change formatting for C (where C is a constructor)