Simplifying code.
Simplify how we end up checking for name collisions.
Unify resolver code.
Remove unnecessary binder code.
Decls have reference equality.  No need to provide value equality semantics.
Don't store a span inside a decl.  it is redundant given that decls point at AST nodes.
Merge branch 'develop' into syntax-v2

Conflicts:
	src/compiler/astHelpers.ts
	src/compiler/emitter.ts
	src/compiler/typecheck/pullDeclCollection.ts
	src/compiler/typecheck/pullTypeResolution.ts
Update LKG.
[corelang] Type parameter constraints cannot directly or indirectly reference themselves
[corelang] Cannot resolve module member of fundule with generics
Simplify code.
Remove unused variable.
Use === and !== more consistently.
Use === and !== more consistently.
Use the more idiomatic "a || b" expression instead of "a ? a : b"
Use === and !== more consistently.
Else tokens on their own line.
Fix indentation so that if you have indented function parameters, your function body indentation isn't affected.
Addressed CR feedback
Merge branch 'develop' into syntax-v2

Conflicts:
	src/compiler/declarationEmitter.ts
	src/compiler/emitter.ts
	src/compiler/typecheck/pullSemanticInfo.ts
	src/compiler/typecheck/pullTypeResolution.ts
	src/services/breakpoints.ts
	src/services/indenter.ts