Quelles sont les différences logiques entre bind(), singleton(), scoped() et instance() dans Laravel ? Dans quels scénarios peuvent-ils être utilisés ?