The type checking rules are generally straightforward (e.g. can't pass a `string` in something that expects an `int`). There are, however, some rules that have a bit more advanced semantics.

# Superglobals

# Variadic Arguments

# Fallthrough

# Property Initialization

# Method Inheritance


The type checking rules are generally straightforward (e.g. can't pass a `string` in something that expects an `int`). There are, however, some rules that have a bit more advanced semantics.

# Soft Type Hints

# Superglobals

# Variadic Arguments

# Fallthrough

# Property Initialization

# Method Inheritance


Make sure we document soft type hints
Make sure we document soft type hints
