'Difference between @Binding and Binding<Type> in Swift

I understand that @Binding is a property wrapper and I believe that Binding<Type> is a form of type casting but what is the difference in practical terms?

For example declaring a var like:

@Binding
var hidden: Bool

versus

var hidden: Binding<Bool>


Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source