Perhaps Max means that in the following simplified example:
func foo() -> Int { 0 }
@discardableResult func bar() -> Int { 0 }
let x = foo
x() // Warning: Result of call to function returning 'Int' is unused
let y = bar
y() // Warning: Result of call to function returning 'Int' is unused
if discardableResult is moved to the type attribute the warning for y() would disappear (which makes total sense to me). @Max_Desiatov, correct me if I got you wrong.